4d28dbf5a1bfa5d8f4e1d49cf46240abac892f84,findbugs/src/java/edu/umd/cs/findbugs/OpcodeStack.java,OpcodeStack,pushByDoubleMath,#number#Item#Item#,1996

Before Change


	private void pushByDoubleMath(int seen, Item it, Item it2) {
		Item result;
		int specialKind = Item.FLOAT_MATH;
		if ((it.getConstant() != null) && it2.getConstant() != null) {
			if (seen == DADD)
				result = new Item("D", ((Double) it2.getConstant()) + ((Double) it.getConstant()));
			else if (seen == DSUB)

After Change


	private void pushByDoubleMath(int seen, Item it, Item it2) {
		Item result;
		int specialKind = Item.FLOAT_MATH;
		if ((it.getConstant() instanceof Double) && it2.getConstant() instanceof Double) {
			if (seen == DADD)
				result = new Item("D", ((Double) it2.getConstant()) + ((Double) it.getConstant()));
			else if (seen == DSUB)
				result = new Item("D", ((Double) it2.getConstant()) - ((Double) it.getConstant()));
			else if (seen == DMUL)
				result = new Item("D", ((Double) it2.getConstant()) * ((Double) it.getConstant()));
			else if (seen == DDIV)
				result = new Item("D", ((Double) it2.getConstant()) / ((Double) it.getConstant()));
			else if (seen == DREM)
				result = new Item("D", ((Double) it2.getConstant()) % ((Double) it.getConstant()));
			else 
				result = new Item("D");	//?	
			} else {